
kernel/system_call.o：     文件格式 elf32-i386
kernel/system_call.o
体系结构：i386， 标志 0x00000011：
HAS_RELOC, HAS_SYMS
起始地址 0x00000000

节：
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         0000018d  00000000  00000000  00000034  2**2
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
  1 .data         00000000  00000000  00000000  000001c1  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          00000000  00000000  00000000  000001c1  2**0
                  ALLOC
SYMBOL TABLE:
00000000 l    d  .text	00000000 .text
00000000 l    d  .data	00000000 .data
00000000 l    d  .bss	00000000 .bss
00000011 l       *ABS*	00000000 SIG_CHLD
00000000 l       *ABS*	00000000 EAX
00000004 l       *ABS*	00000000 EBX
00000008 l       *ABS*	00000000 ECX
0000000c l       *ABS*	00000000 EDX
00000010 l       *ABS*	00000000 FS
00000014 l       *ABS*	00000000 ES
00000018 l       *ABS*	00000000 DS
0000001c l       *ABS*	00000000 EIP
00000020 l       *ABS*	00000000 CS
00000024 l       *ABS*	00000000 EFLAGS
00000028 l       *ABS*	00000000 OLDESP
0000002c l       *ABS*	00000000 OLDSS
00000000 l       *ABS*	00000000 state
00000004 l       *ABS*	00000000 counter
00000008 l       *ABS*	00000000 priority
0000000c l       *ABS*	00000000 signal
00000010 l       *ABS*	00000000 restorer
00000014 l       *ABS*	00000000 sig_fn
00000043 l       *ABS*	00000000 nr_system_calls
00000000 l       .text	00000000 bad_sys_call
00000008 l       .text	00000000 reschedule
00000048 l       .text	00000000 ret_from_sys_call
000000e2 l       .text	00000000 default_signal
00000014 g       .text	00000000 system_call
0000013c g       .text	00000000 sys_fork
000000f4 g       .text	00000000 timer_interrupt
00000154 g       .text	00000000 hd_interrupt
0000012c g       .text	00000000 sys_execve
00000000         *UND*	00000000 schedule
00000000         *UND*	00000000 sys_call_table
00000000         *UND*	00000000 current
00000000         *UND*	00000000 task
00000000         *UND*	00000000 verify_area
00000000         *UND*	00000000 do_exit
00000000         *UND*	00000000 jiffies
00000000         *UND*	00000000 do_timer
00000000         *UND*	00000000 do_execve
00000000         *UND*	00000000 find_empty_process
00000000         *UND*	00000000 copy_process
00000000         *UND*	00000000 do_hd
00000000         *UND*	00000000 unexpected_hd_interrupt


Contents of section .text:
 0000 b8ffffff ffcf6690 68480000 00e9fcff  ......f.hH......
 0010 ffff6690 83f84277 e71e060f a0525153  ..f...Bw.....RQS
 0020 ba100000 008eda8e c2ba1700 00008ee2  ................
 0030 ff148500 00000050 a1000000 00833800  .......P......8.
 0040 75c68378 040074c0 a1000000 003b0500  u..x..t......;..
 0050 0000000f 84800000 008b5c24 20f7c303  ..........\$ ...
 0060 00000074 7466837c 242c1775 6c8b580c  ...ttf.|$,.ul.X.
 0070 0fbccb74 640fb3cb 89580c8b 5c881483  ...td....X..\...
 0080 fb01725e 74e7c744 88140000 00004187  ..r^t..D......A.
 0090 5c241c83 6c24281c 8b542428 50516a1c  \$..l$(..T$(PQj.
 00a0 52e8fcff ffff5a83 c4045958 8b401064  R.....Z...YX.@.d
 00b0 89026489 4a048b04 24648942 088b4424  ..d.J...$d.B..D$
 00c0 08648942 0c8b4424 0c648942 108b4424  .d.B..D$.d.B..D$
 00d0 24648942 1464895a 18585b59 5a0fa107  $d.B.d.Z.X[YZ...
 00e0 1fcf4183 f9117485 51e8fcff ffff83c4  ..A...t.Q.......
 00f0 04ebe690 1e060fa0 52515350 b8100000  ........RQSP....
 0100 008ed88e c0b81700 00008ee0 ff050000  ................
 0110 0000b020 e6208b44 242083e0 0350e8fc  ... . .D$ ...P..
 0120 ffffff83 c404e91d ffffff90 8d44241c  .............D$.
 0130 50e8fcff ffff83c4 04c36690 e8fcffff  P.........f.....
 0140 ff85c078 0e0fa856 575550e8 fcffffff  ...x...VWUP.....
 0150 83c414c3 5051521e 060fa0b8 10000000  ....PQR.........
 0160 8ed88ec0 b8170000 008ee0b0 20e620eb  ............ . .
 0170 00eb00e6 a0a10000 000085c0 7505b800  ............u...
 0180 000000ff d00fa107 1f5a5958 cf        .........ZYX.   

Disassembly of section .text:

00000000 <bad_sys_call>:
   0:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
   5:	cf                   	iret   
   6:	66 90                	xchg   %ax,%ax

00000008 <reschedule>:
   8:	68 48 00 00 00       	push   $0x48
			9: R_386_32	.text
   d:	e9 fc ff ff ff       	jmp    e <reschedule+0x6>
			e: R_386_PC32	schedule
  12:	66 90                	xchg   %ax,%ax

00000014 <system_call>:
  14:	83 f8 42             	cmp    $0x42,%eax
  17:	77 e7                	ja     0 <bad_sys_call>
  19:	1e                   	push   %ds
  1a:	06                   	push   %es
  1b:	0f a0                	push   %fs
  1d:	52                   	push   %edx
  1e:	51                   	push   %ecx
  1f:	53                   	push   %ebx
  20:	ba 10 00 00 00       	mov    $0x10,%edx
  25:	8e da                	mov    %edx,%ds
  27:	8e c2                	mov    %edx,%es
  29:	ba 17 00 00 00       	mov    $0x17,%edx
  2e:	8e e2                	mov    %edx,%fs
  30:	ff 14 85 00 00 00 00 	call   *0x0(,%eax,4)
			33: R_386_32	sys_call_table
  37:	50                   	push   %eax
  38:	a1 00 00 00 00       	mov    0x0,%eax
			39: R_386_32	current
  3d:	83 38 00             	cmpl   $0x0,(%eax)
  40:	75 c6                	jne    8 <reschedule>
  42:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
  46:	74 c0                	je     8 <reschedule>

00000048 <ret_from_sys_call>:
  48:	a1 00 00 00 00       	mov    0x0,%eax
			49: R_386_32	current
  4d:	3b 05 00 00 00 00    	cmp    0x0,%eax
			4f: R_386_32	task
  53:	0f 84 80 00 00 00    	je     d9 <ret_from_sys_call+0x91>
  59:	8b 5c 24 20          	mov    0x20(%esp),%ebx
  5d:	f7 c3 03 00 00 00    	test   $0x3,%ebx
  63:	74 74                	je     d9 <ret_from_sys_call+0x91>
  65:	66 83 7c 24 2c 17    	cmpw   $0x17,0x2c(%esp)
  6b:	75 6c                	jne    d9 <ret_from_sys_call+0x91>
  6d:	8b 58 0c             	mov    0xc(%eax),%ebx
  70:	0f bc cb             	bsf    %ebx,%ecx
  73:	74 64                	je     d9 <ret_from_sys_call+0x91>
  75:	0f b3 cb             	btr    %ecx,%ebx
  78:	89 58 0c             	mov    %ebx,0xc(%eax)
  7b:	8b 5c 88 14          	mov    0x14(%eax,%ecx,4),%ebx
  7f:	83 fb 01             	cmp    $0x1,%ebx
  82:	72 5e                	jb     e2 <default_signal>
  84:	74 e7                	je     6d <ret_from_sys_call+0x25>
  86:	c7 44 88 14 00 00 00 	movl   $0x0,0x14(%eax,%ecx,4)
  8d:	00 
  8e:	41                   	inc    %ecx
  8f:	87 5c 24 1c          	xchg   %ebx,0x1c(%esp)
  93:	83 6c 24 28 1c       	subl   $0x1c,0x28(%esp)
  98:	8b 54 24 28          	mov    0x28(%esp),%edx
  9c:	50                   	push   %eax
  9d:	51                   	push   %ecx
  9e:	6a 1c                	push   $0x1c
  a0:	52                   	push   %edx
  a1:	e8 fc ff ff ff       	call   a2 <ret_from_sys_call+0x5a>
			a2: R_386_PC32	verify_area
  a6:	5a                   	pop    %edx
  a7:	83 c4 04             	add    $0x4,%esp
  aa:	59                   	pop    %ecx
  ab:	58                   	pop    %eax
  ac:	8b 40 10             	mov    0x10(%eax),%eax
  af:	64 89 02             	mov    %eax,%fs:(%edx)
  b2:	64 89 4a 04          	mov    %ecx,%fs:0x4(%edx)
  b6:	8b 04 24             	mov    (%esp),%eax
  b9:	64 89 42 08          	mov    %eax,%fs:0x8(%edx)
  bd:	8b 44 24 08          	mov    0x8(%esp),%eax
  c1:	64 89 42 0c          	mov    %eax,%fs:0xc(%edx)
  c5:	8b 44 24 0c          	mov    0xc(%esp),%eax
  c9:	64 89 42 10          	mov    %eax,%fs:0x10(%edx)
  cd:	8b 44 24 24          	mov    0x24(%esp),%eax
  d1:	64 89 42 14          	mov    %eax,%fs:0x14(%edx)
  d5:	64 89 5a 18          	mov    %ebx,%fs:0x18(%edx)
  d9:	58                   	pop    %eax
  da:	5b                   	pop    %ebx
  db:	59                   	pop    %ecx
  dc:	5a                   	pop    %edx
  dd:	0f a1                	pop    %fs
  df:	07                   	pop    %es
  e0:	1f                   	pop    %ds
  e1:	cf                   	iret   

000000e2 <default_signal>:
  e2:	41                   	inc    %ecx
  e3:	83 f9 11             	cmp    $0x11,%ecx
  e6:	74 85                	je     6d <ret_from_sys_call+0x25>
  e8:	51                   	push   %ecx
  e9:	e8 fc ff ff ff       	call   ea <default_signal+0x8>
			ea: R_386_PC32	do_exit
  ee:	83 c4 04             	add    $0x4,%esp
  f1:	eb e6                	jmp    d9 <ret_from_sys_call+0x91>
  f3:	90                   	nop

000000f4 <timer_interrupt>:
  f4:	1e                   	push   %ds
  f5:	06                   	push   %es
  f6:	0f a0                	push   %fs
  f8:	52                   	push   %edx
  f9:	51                   	push   %ecx
  fa:	53                   	push   %ebx
  fb:	50                   	push   %eax
  fc:	b8 10 00 00 00       	mov    $0x10,%eax
 101:	8e d8                	mov    %eax,%ds
 103:	8e c0                	mov    %eax,%es
 105:	b8 17 00 00 00       	mov    $0x17,%eax
 10a:	8e e0                	mov    %eax,%fs
 10c:	ff 05 00 00 00 00    	incl   0x0
			10e: R_386_32	jiffies
 112:	b0 20                	mov    $0x20,%al
 114:	e6 20                	out    %al,$0x20
 116:	8b 44 24 20          	mov    0x20(%esp),%eax
 11a:	83 e0 03             	and    $0x3,%eax
 11d:	50                   	push   %eax
 11e:	e8 fc ff ff ff       	call   11f <timer_interrupt+0x2b>
			11f: R_386_PC32	do_timer
 123:	83 c4 04             	add    $0x4,%esp
 126:	e9 1d ff ff ff       	jmp    48 <ret_from_sys_call>
 12b:	90                   	nop

0000012c <sys_execve>:
 12c:	8d 44 24 1c          	lea    0x1c(%esp),%eax
 130:	50                   	push   %eax
 131:	e8 fc ff ff ff       	call   132 <sys_execve+0x6>
			132: R_386_PC32	do_execve
 136:	83 c4 04             	add    $0x4,%esp
 139:	c3                   	ret    
 13a:	66 90                	xchg   %ax,%ax

0000013c <sys_fork>:
 13c:	e8 fc ff ff ff       	call   13d <sys_fork+0x1>
			13d: R_386_PC32	find_empty_process
 141:	85 c0                	test   %eax,%eax
 143:	78 0e                	js     153 <sys_fork+0x17>
 145:	0f a8                	push   %gs
 147:	56                   	push   %esi
 148:	57                   	push   %edi
 149:	55                   	push   %ebp
 14a:	50                   	push   %eax
 14b:	e8 fc ff ff ff       	call   14c <sys_fork+0x10>
			14c: R_386_PC32	copy_process
 150:	83 c4 14             	add    $0x14,%esp
 153:	c3                   	ret    

00000154 <hd_interrupt>:
 154:	50                   	push   %eax
 155:	51                   	push   %ecx
 156:	52                   	push   %edx
 157:	1e                   	push   %ds
 158:	06                   	push   %es
 159:	0f a0                	push   %fs
 15b:	b8 10 00 00 00       	mov    $0x10,%eax
 160:	8e d8                	mov    %eax,%ds
 162:	8e c0                	mov    %eax,%es
 164:	b8 17 00 00 00       	mov    $0x17,%eax
 169:	8e e0                	mov    %eax,%fs
 16b:	b0 20                	mov    $0x20,%al
 16d:	e6 20                	out    %al,$0x20
 16f:	eb 00                	jmp    171 <hd_interrupt+0x1d>
 171:	eb 00                	jmp    173 <hd_interrupt+0x1f>
 173:	e6 a0                	out    %al,$0xa0
 175:	a1 00 00 00 00       	mov    0x0,%eax
			176: R_386_32	do_hd
 17a:	85 c0                	test   %eax,%eax
 17c:	75 05                	jne    183 <hd_interrupt+0x2f>
 17e:	b8 00 00 00 00       	mov    $0x0,%eax
			17f: R_386_32	unexpected_hd_interrupt
 183:	ff d0                	call   *%eax
 185:	0f a1                	pop    %fs
 187:	07                   	pop    %es
 188:	1f                   	pop    %ds
 189:	5a                   	pop    %edx
 18a:	59                   	pop    %ecx
 18b:	58                   	pop    %eax
 18c:	cf                   	iret   
